<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of Usuario
 *
 * @author maospina
 */
class Usuario {
    private $oid;
    private $documento;
    private $nombres;
    private $apellidos;
    private $usuario;
    private $clave;
    private $servicio;
    private $estado;
    
    
    function __construct($oid, $documento, $nombres, $apellidos, $usuario, $clave, $servicio, $estado) {
        $this->oid = $oid;
        $this->documento = $documento;
        $this->nombres = $nombres;
        $this->apellidos = $apellidos;
        $this->usuario = $usuario;
        $this->clave = $clave;
        $this->servicio = $servicio;
        $this->estado = $estado;
    }
    
    public function getOid() {
        return $this->oid;
    }

    public function setOid($oid) {
        $this->oid = $oid;
    }

    public function getDocumento() {
        return $this->documento;
    }

    public function setDocumento($documento) {
        $this->documento = $documento;
    }

    public function getNombres() {
        return $this->nombres;
    }

    public function setNombres($nombres) {
        $this->nombres = $nombres;
    }

    public function getApellidos() {
        return $this->apellidos;
    }

    public function setApellidos($apellidos) {
        $this->apellidos = $apellidos;
    }

    public function getUsuario() {
        return $this->usuario;
    }

    public function setUsuario($usuario) {
        $this->usuario = $usuario;
    }

    public function getClave() {
        return $this->clave;
    }

    public function setClave($clave) {
        $this->clave = $clave;
    }

    public function getServicio() {
        return $this->servicio;
    }

    public function setServicio($servicio) {
        $this->servicio = $servicio;
    }

    public function getEstado() {
        return $this->estado;
    }

    public function setEstado($estado) {
        $this->estado = $estado;
    }
    

    
    function gestion(){
        
        include_once 'Conexion.php';
        
        $con = new Conexion();
        
        $select = "select * from USUARIO where USUARIO= '".$this->usuario."' and 1 = pwdcompare('".$this->clave."',(select CLAVE from USUARIO where USUARIO='".$this->usuario."'))";
        $res = $con->query($select);
        
        while($res2 = mssql_fetch_array($res)){
            $estado = $res2['ESTADO'];
            $nombres = $res2['NOMBRES']." ".$res2['APELLIDOS'];
            $oid = $res2['OID'];
            $tipousu = $res2['TIPOUSU'];
            $usuario = $res2['USUARIO'];
            $usuclave = $res2['CLAVE'];
        }
        
        if($estado == 1){
            session_start();
            
            $_SESSION['usuario'] = $oid;
            $_SESSION['nombres'] = $nombres;
            $_SESSION['nombusu'] = $usuario;
            $_SESSION['usuclave'] = $usuclave;
            $_SESSION['conexion'] = "Mundial2014";
            
            print_r(json_encode(array('respuesta'=>1,'tipousu'=>$tipousu)));
            
        }else if($estado == 0){
            print_r(json_encode(array('respuesta'=>2)));
        }else if($estado == ""){
            print_r(json_encode(array('respuesta'=>3)));
        }
        

        $con->cerrarConexion();
    }
    
    function usuarios(){
        
        include_once 'Conexion.php';
        
        $con = new Conexion();
        
        $select = "select * from USUARIO";
        $res = $con->query($select);
        
        while($res2 = mssql_fetch_array($res)){
            $lista[] = $res2;
        }
        
        print_r(json_encode($lista));
        
        $con->cerrarConexion();
        
    }
    
    function insertarUsuario(){
        include_once 'Conexion.php';
        
        $con = new Conexion();
        
        $compare = "select count(*) as n from USUARIO where USUARIO = '".$this->usuario."' and DOCUMENTO = '".$this->documento."'";
        $resul = $con->query($compare);
        while($resul2 = mssql_fetch_array($resul)){
            $resultado = $resul2['n'];
        }
        
        if($resultado == '1'){
            print_r(json_encode(array('mensaje'=>'1','dato'=>$resultado)));
        }else{
        
            $insert = "insert into USUARIO(DOCUMENTO,NOMBRES,APELLIDOS,USUARIO,CLAVE,SERVICIO,ESTADO,TIPOUSU)values('".$this->documento."','".$this->nombres."','".$this->apellidos."','".$this->usuario."',PWDENCRYPT('".$this->clave."'),'".$this->servicio."',0,2)";
            $con->query($insert);

            print_r(json_encode(array('mensaje'=>'2','dato'=>$resultado)));

            $con->cerrarConexion();
        }
    }
    
    function editarUsuario(){
        
        include_once 'Conexion.php';
        
        $con = new Conexion();
        
        $update = "update USUARIO
                   set DOCUMENTO = '".$this->documento."',
                       NOMBRES = '".$this->nombres."',
                       APELLIDOS = '".$this->apellidos."',
                       SERVICIO = '".$this->servicio."'
                       where OID = ".$this->oid;
        $con->query($update);
        
        print_r(json_encode(array('mensaje'=>1)));
        
        $con->cerrarConexion();
        
    }
    
    function restaurarClave(){
        
        include_once 'Conexion.php';
        
        $con = new Conexion();
        
        $update = "update USUARIO
                   set CLAVE = PWDENCRYPT('".$this->documento."')
                   where OID = ".$this->oid;
        $con->query($update);
        
        print_r(json_encode(array('mensaje'=>'<h1><br></h1><p>Clave restaurada satisfactoriamente</p>')));
        
        $con->cerrarConexion();
        
    }
    
    function buscarUsuario(){
        
        include_once 'Conexion.php';
        
        $con = new Conexion();
        
        $select = "select * from USUARIO where DOCUMENTO = '".$this->documento."'";
        $res = $con->query($select);
        
        while($res2 = mssql_fetch_array($res)){
            $lista[] = $res2;
        }
        
        print_r(json_encode($lista));
        
        $con->cerrarConexion();
        
    }
    
    function activacion(){
        
        include_once 'Conexion.php';
        
        $con = new Conexion();
        
        $update = "update USUARIO
                   set ESTADO = '".$this->estado."'
                   where OID = ".$this->oid;
        $con->query($update);
        
        $con->cerrarConexion();
        
    }
    
    function cargarUsuariop(){
        
        include_once 'Conexion.php';
        
        $con = new Conexion();
        
        $select = "SELECT  usu.OID,DOCUMENTO, ltrim(rtrim(NOMBRES)) +' '+ ltrim(rtrim(APELLIDOS)) as nombres,GDPNOMBRE,SUM (PUNTAJE)AS PUNTAJE,
                            pja2.pja2,pja3.pja3,pja4.pja4,pja5.pja5,pja6.pja6
                   FROM USUARIO as usu
                         LEFT OUTER JOIN PUNTUACION ON usu.OID=PUNTUACION.USUARIO
                         LEFT OUTER JOIN DGempres10..GENDEPEND as ser ON usu.SERVICIO = ser.OID
                   OUTER APPLY (select COUNT(*) as pja2 
                                       from PUNTUACION
                                       where PUNTAJE = 10 and USUARIO = usu.OID)AS pja2 
                   OUTER APPLY (select COUNT(*) as pja3 
                                       from PUNTUACION
                                       where PUNTAJE = 8 and USUARIO = usu.OID)AS pja3
                   OUTER APPLY (select COUNT(*) as pja4 
                                       from PUNTUACION
                                       where PUNTAJE = 6 and USUARIO = usu.OID)AS pja4
                   OUTER APPLY (select COUNT(*) as pja5 
                                       from PUNTUACION
                                       where PUNTAJE = 2 and USUARIO = usu.OID)AS pja5
                   OUTER APPLY (select COUNT(*) as pja6 
                                       from PUNTUACION
                                       where USUARIO = usu.OID)AS pja6
                   WHERE PUNTUACION.PUNTAJE >= 0
                   GROUP BY usu.OID,DOCUMENTO, NOMBRES, APELLIDOS,GDPNOMBRE,pja2.pja2,pja3.pja3,pja4.pja4,pja5.pja5,pja6.pja6
                   ORDER BY PUNTAJE desc,pja6.pja6 desc ,pja2.pja2 desc,pja3.pja3 desc,pja4.pja4 desc,pja5.pja5 desc";
        $res = $con->query($select);
        
        while($res2 = mssql_fetch_array($res)){
            $lista[] = $res2;
        }
        
        print_r(json_encode($lista));
        
        $con->cerrarConexion();
        
    }
    function cambioContra(){
        include_once 'Conexion.php';
        session_start();
        $con = new Conexion();
     
        $existe = "select count(*) as existe 
                    from USUARIO where OID= ".$_SESSION['usuario']."
                    and 1 = pwdcompare('".$_SESSION['usuclave']."' ,(select CLAVE from USUARIO where OID=".$_SESSION['usuario']." ))";

        $resul = $con->query($existe);
        while($result = mssql_fetch_array($resul)){
            $resultado = $result['existe'];
        }

        if($resultado == '1'){
           /* $update = "update USUARIO
        if($resultado == 1){
            $update = "update USUARIO
                       set CLAVE = PWDENCRYPT('".$this->clave."')
                       where OID = ".$_SESSION['usuario'];

            $con->query($update);*/
         print_r(json_encode(array('mensaje'=>'la contrasena se edito satisfactoriamente')));

            

        }else{

             print_r(json_encode(array('mensaje'=>'la contrasena actual no es valida')));

            $con->cerrarConexion();
            }
    
        }
        
    }

?>
